import { InternalAxiosRequestConfig, AxiosResponse } from 'axios'
import { RootStateTypes } from '@jsjn/micro-core-store/interface'

export default interface SendMicroAppData {
    /**
     * vuex 中的数据字段发生变化时，主动向子应用发送2
     */
    vuex: RootStateTypes
    /**
     * 公用请求拦截
     */
    interceptorsReqHandle: (
        config: InternalAxiosRequestConfig
    ) => Promise<InternalAxiosRequestConfig>
    /**
     * 公用响应拦截
     */
    interceptorsResHandle: (res: AxiosResponse<any, any>) => any
    /**
     * 路由模式，微应用的路由模式不再由本地环境变量配置
     * 微应用的要和基座应用的保持统一
     */
    routeMode: 'backEnd' | 'frontEnd'
    /**
     * 扩展字段
     */
    [k: string]: any
}
